Hood: A User-Level Threads Library for Multiprogrammed Multiprocessors
نویسندگان
چکیده
The Hood user-level threads library delivers efficient performance under multiprogramming without any need for kernel-level resource management, such as coscheduling or process control. It does so by scheduling threads with a non-blocking implementation of the work-stealing algorithm. With this implementation, the execution time of a program running with arbitrarily many processes on arbitrarily many processors can be modeled as a simple function of work and critical-path length. This model holds even when the program runs on a set of processors that arbitrarily grows and shrinks over time. In all cases, we observe linear speedup whenever the number of processes is small relative to the parallelism.
منابع مشابه
The Performance of Work Stealing in Multiprogrammed Environments
As small-scale, shared-memory multiprocessors make their way onto desktops, the high-performance parallel applications that run on these machines will have to live alongside other applications, such as editors and web browsers. Unfortunately, unless parallel applications are coscheduled [4] or subject to process control [2], they display poor performance in such multiprogrammed environments [2]...
متن کاملUser-Level Dynamic Page Migration for Multiprogrammed Shared-Memory Multiprocessors
This paper presents algorithms for improving the performance of parallel programs on multiprogrammed sharedmemory NUMA multiprocessors, via the use of user-level dynamic page migration. The idea that drives the algorithms is that a page migration engine can perform accurate and timely page migrations in a multiprogrammed system if it can correlate page reference information with scheduling info...
متن کاملNANOS: Effective Integration of Fine-grain Parallelism Exploitation and Multiprogramming
The objective of the NANOS project is to investigate possible ways to accomplish both high system throughput and application performance for parallel applications in multiprogrammed environments on shared–memory multiprocessors. The target of the project has been the development of a complete environment in which interactions between mechanisms and policies at different levels (application, com...
متن کاملExploiting Parallelism Through Directives on the Nano-Threads Programming Model
The ability of an application to eeciently use the resources shared with other applications is a key feature needed to eeciently exploit the potential parallelism ooered by nowadays parallel architectures. In these multiprogrammed environments, the application should be able to adapt the parallelism (kind and amount) that it is worth to be exploited to the global utilization of system resources...
متن کاملUsing Continuations to Build a User-Level Threads Library
We have designed and built a user-level threads library that uses continuations for transfers of control. The use of continuations reduces the amount of state that needs to be saved and restored at context switch time thereby reducing the instruction count in the critical sections. Our multiprocessor contention benchmarks indicate that this reduction and the use of Busy Spinning, Busy Waiting a...
متن کامل